Mentre le raccolte basilari come array o fette sono limitate al salvataggio di elementi dello stesso tipo di dato, strutture (struct) ci permettono di raggruppare tipi diversi in un'unica unità. Questo è essenziale per l'esplorazione marziana, dove i dati telemetrici prevedono informazioni miste come nomi (stringa) e coordinate (float64).
1. Raggruppamento semantico vs. Uniformità
A differenza di una fetta di float che ti dice solo "quanti", una struttura fornisce un contenitore contrassegnato. Definizione: Mentre le raccolte sono tutte dello stesso tipo, le strutture permettono di raggruppare cose diverse. Questo evita il "minestrone di variabili" raggruppando dati correlati in oggetti con nome.
2. Atomicità nelle operazioni
Raggruppando le variabili, otteniamo atomicità. Funzioni come func Step(a, b Universo) oppure func (u Universo) Next(x, y int) bool possono manipolare interi ambienti invece di inseguire primitive sciolte. Per compiti occasionali, strutture anonime (come nell'elenco 21.1) offrono un'organizzazione immediata senza definizioni formali di tipo.